1. Field of the Invention
The present disclosure generally relates to cloud based collaboration. More particularly, the disclosure generally relates to systems and methods for accessing three-dimensional imaging software on a remote server.
2. Description of the Relevant Art
Three dimensional (3D) capable electronics and computing hardware devices and real-time computer-generated 3D computer graphics have been a popular area of computer science for the past few decades, with innovations in visual, audio, tactile and biofeedback systems. Much of the research in this area has produced hardware and software products that are specifically designed to generate greater realism and more natural computer-human interfaces. These innovations have significantly enhanced and simplified the end-user's computing experience.
Typical 3D computing software requires intensive computational power. Even powerful systems designed and dedicated to execute 3D computing software may require computational assistance and/or additional storage at times. Additionally a user running a dedicated 3D system may wish to collaborate with others using the 3D computing software. One or more of these collaborators may be using computer systems with different and/or less capabilities than the dedicated 3D system.
Regarding this last point, some collaborators may have a computer system that does not have a 3D display and/or head tracking. Some of the collaborator's computer systems may lack a stylus or, stated more generally, may have limited input capability. In addition, the local computational power and storage capacity of the collaborator's computer systems may be limited in absolute terms or in comparison to the dedicated 3D computer system. Computer systems having such reduced capabilities are sometimes but not necessarily referred to as “thin client devices.”
Examples of non-dedicated 3D computer systems that can be used in a collaboration and that may have limited capabilities include laptop computers, tablets and smart phones. It should be noted, however, that tablets and smart phones usually have 3 axis orientation detection capabilities.
The simplest case of the collaboration situation described above has been partially addressed by current technology and product offerings. The simplest case referred is represented by the on-line collaboration between gamers. Such users might have a computer system that includes a 2D display and input devices such a mouse or trackball. A subset of such computer systems might have limited gesture recognition capability.
The on-line collaboration described above is accomplished by the user's systems communicating through the Internet with a server. That is, each user's computer system communicates with the server providing information developed, in part, from the user's use of their system's input devices. (In a first person shooter game, think user's point of view and weapon use.) The server integrates the input from all of the users and provides a harmonized output to each user's computer system.
In the configuration just described, the computational burden is generally local. That is, most of the computations required to produce the information sent to and from the server is accomplished at the individual user's computer system. If the user's computer has fast computational capability, the video imagery will appear without delay. If the user's computer has less computational capability, there may be a delay in the video imagery or a limitation in the user's ability to control the video imagery.
The challenge faced in a collaboration of 3D computing software users can be even greater than that of a collaboration of conventional gamers. This is due, in part, to the additional computational “overhead” associated with the wide range of capabilities resident in a 3D computer system. The additional overhead only starts with the 3D display being stereoscopic. It goes on to include determining the user's position and orientation (that is, point of view in 3D space) based on input from a head tracker. Added to this is overhead associated with the user's manipulation of objects in 3D space based on input from 3D input devices. These additional tasks can put a great burden on the local computer. With this in mind, dedicated 3D computer systems are designed with considerable local computational power and storage capacity. None-the-less, if the collaboration involves complex subject matter, it may be found desirable by the users to have access to additional capabilities.
Part of the incentive for this computational capability is the more stringent requirement on latency/delay that a head-tracked 3D system places on over system performance. Latency that would have been acceptable, for example, to 2D gamers are no longer acceptable for 3D rendering. This is due, in part, because the latency may cause physical discomfort or even headaches for the user. Low latency is no longer a “convenience” factor but a strong requirement for usability. This latency requirement has implications on both local computational capabilities as well as the network communication bandwidth.
The situation can be even more challenging if the collaboration includes both dedicated 3D and non-dedicated 3D computer systems. Those non-dedicated 3D computer systems having limited computational ability and storage capacity may have difficulty in “keeping up.” As before, the result can be a delay in the video or a limitation in the user's ability to control the video imagery. Users of such thin client systems would definitely find it desirable to have access to additional capabilities.
A separate but equally important issue relates to the fact that, when some of the users in the collaboration do not have a dedicated 3D computer system, the inputs from the non-dedicated 3D computer systems can be quite different from the dedicated 3D computer system as well as from each other. As a consequence, it can be a substantial task for the server to harmonize the inputs from all of the collaborators.
There is, therefore, need for means to allow users and members of a collaboration to access additional computational capability and storage capacity. There is, therefore, need for systems and/or methods to enable a mixture of dedicated 3D and non-dedicated 3D computer system users to collaborate effectively is highly desirable. In as much as the systems/methods proposed in this disclosure are Cloud-based, there is also need for systems/methods to address the issue of what happens if the Cloud goes down.